# !/usr/bin/env python
# -*- coding: UTF-8 -*-
# date: 12/21/11 12:17 PM
# Filename: log.py

#
# Copyright 2011 Youku
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.


import logging
import ConfigParser
import time


### read configurations from conf/stat.cfg ###
_config = ConfigParser.RawConfigParser()
_config.read('../conf/stat.cfg')

_section = 'Log'
_path = _config.get(_section, 'path')
_filename = _config.get(_section, 'filename')
_timeformat = _config.get(_section, 'timeformat')


class _log():
    '''
    youku custom log

    '''

    @property
    def log(self):
        logfile = _path + _filename.format(time.strftime(_timeformat))

        logger = logging.getLogger()
        filehandler = logging.FileHandler(logfile)
        streamhandler = logging.StreamHandler()
        fmt = logging.Formatter('[%(asctime)s] %(message)s')
        filehandler.setFormatter(fmt)
        streamhandler.setFormatter(fmt)
        logger.setLevel(logging.DEBUG)
        logger.addHandler(filehandler)
        logger.addHandler(streamhandler)
        return logger


def getLogger():
    return _log().log